package com.admin.client.domain;

import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;

/**
 * 任务配置(CoreTaskConfig)表实体类
 *
 * @author cxy
 * @since 2025-01-10 09:59:03
 */
@ApiModel("任务配置")
@ColumnWidth(25)//列宽
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@EqualsAndHashCode(callSuper = true)
public class CoreTaskConfig extends Model<CoreTaskConfig> {// swagger2,mybatis-plus
    ///////////////////////////////////////////////////////////////////////////////////////////////////////// 生成实体字段
    @TableId(type = IdType.INPUT)
    @ApiModelProperty("$column.comment")
    @ExcelProperty({"$column.comment","id"})
    private Long id;
    
    @ApiModelProperty("任务名")
    @ExcelProperty({"任务名","configName"})
    private String configName;
    
    @ApiModelProperty("任务类型 0.不刷新 1日刷新 2周刷新 3月刷新")
    @ExcelProperty({"任务类型 0.不刷新 1日刷新 2周刷新 3月刷新","taskType"})
    private Integer taskType;
    
    @ApiModelProperty("目标要求")
    @ExcelProperty({"目标要求","targetValue"})
    private String targetValue;
    
    @ApiModelProperty("任务奖励 ")
    @ExcelProperty({"任务奖励 ","rewardProp"})
    private String rewardProp;
    
    @ApiModelProperty("分组 1.日常 2.战令 3.成就")
    @ExcelProperty({"分组 1.日常 2.战令 3.成就","grouping"})
    private Integer grouping;
    
    @ApiModelProperty("前置任务id")
    @ExcelProperty({"前置任务id","pid"})
    private Long pid;
    
    ///////////////////////////////////////////////////////////////////////////////////////////////////////// 序列化版本号
    @TableField(exist = false)
    private static final long serialVersionUID = 378672647843558811L;
    /////////////////////////////////////////////////////////////////////////////////////////////////////////// 获取主键值
    @Override
    public Serializable pkVal() {
        return this.id;
    }
    ///////////////////////////////////////////////////////////////////////////////////////////////////////  基础数据初始化
    public CoreTaskConfig init() {
        return this;
    }
    /////////////////////////////////////////////////////////////////////////////////////////////////////////// 领域业务
}

